pub const fn chunk_dim<const CBITS: u8>() -> usize {
    1usize << CBITS
}

pub const fn chunk_vertex_dim<const CBITS: u8>() -> usize {
    chunk_dim::<CBITS>() + 1
}

pub const fn chunk_voxel_count<const CBITS: u8>() -> usize {
    chunk_dim::<CBITS>().pow(3)
}

pub const fn chunk_vertex_count<const CBITS: u8>() -> usize {
    chunk_vertex_dim::<CBITS>().pow(3)
}

pub const fn region_dim<const RBITS: u8>() -> usize {
    1usize << RBITS
}

pub const fn region_chunk_count<const RBITS: u8>() -> usize {
    region_dim::<RBITS>().pow(3)
}
